using System.ComponentModel.DataAnnotations;

namespace UniversalAdmin.Application.DTOs;

public class ChatHistoryDto
{
    public Guid Id { get; set; }
    public Guid UserId { get; set; }
    public string SessionId { get; set; } = string.Empty;
    public string Question { get; set; } = string.Empty;
    public string Answer { get; set; } = string.Empty;
    public DateTime CreatedAt { get; set; }
    public List<RelatedDocumentDto> RelatedDocuments { get; set; } = new();
}

public class CreateChatHistoryDto
{
    [Required]
    public Guid UserId { get; set; }
    [Required]
    public string SessionId { get; set; } = string.Empty;
    [Required]
    public string Question { get; set; } = string.Empty;
    [Required]
    public string Answer { get; set; } = string.Empty;
    public List<Guid>? RelatedDocumentIds { get; set; }
    public List<RelevanceScoreDto>? RelevanceScores { get; set; }
}

public class RelatedDocumentDto
{
    public Guid DocumentId { get; set; }
    public double RelevanceScore { get; set; }
}